Add shift by multiple constant#1220
Add shift by multiple constant#1220AntoinePrv wants to merge 17 commits intoxtensor-stack:masterfrom
Conversation
AntoinePrv
left a comment
There was a problem hiding this comment.
Also we need to add all the proper forward to dynamic for all other architectures to avoid ending up with a common implementation (unless that's all there is).
There was a problem hiding this comment.
I named this util as common seems to be more used for implementing the common architecture.
include/xsimd/arch/utils/shifts.hpp
Outdated
|
|
||
| template <class T, class T2, class A, class R, T... Vs> | ||
| XSIMD_INLINE batch<T, A> bitwise_lshift_as_twice_larger( | ||
| batch<T, A> const& self, batch_constant<T, A, Vs...>, R req) noexcept |
There was a problem hiding this comment.
Probably should remove R req here
|
@AntoinePrv unless there's is a huge need on your side, I won't schedule that one for the release. Let's just add masked load / store support for other architecture so that we can release, then begin a new commit wave :-) |
|
@serge-sans-paille I had hoped I could do it quickly before the weekend but it seems it will take longer. |
e5d1e00 to
0b42f50
Compare
de97676 to
1cd12f9
Compare
|
I have a few questions on the current implementation
|
c85add7 to
fb76fd7
Compare
@serge-sans-paille @JohanMabille this ideas works, but I cannot figure out how to refactor
bitwise_lshift_as_twice_largerinto a separate header.The issue:
xsimd_sse2.hppneedsutils/shits.hppforbitwise_lshift_as_twice_largerbitwise_lshift_as_twice_largerneeds definitions fromxsimd_sse2.hpp.avx2Forward declaring all the needed functions overloads from
sse2andavx2and the arch types inutils/shits.hpp.Perhaps it should use the functions from
xsimd_apiinstead? (which would also be better if there is a better implementation further down in the inheritance tree).Close #1218